package model;

import java.util.ArrayList;
import java.util.EnumSet;
import java.util.List;

public class BetsListsHelper {

	List<Bet> bets;

	public List<Bet> query(EnumSet<Role> userRoles, EnumSet<BetStatus> betStatus){
		List<Bet> betsResults = new ArrayList<Bet>();

		for (Bet bet : bets) {
			if (isBetRoleInTheRolesSet(bet,userRoles) &&
					isBetStatusInTheStatusSet(bet,betStatus)){ 
				betsResults.add(bet);
			}
		}
		return betsResults;
	}

	private boolean isBetRoleInTheRolesSet(Bet bet, EnumSet<Role> userRoles) {
		boolean isBetRole = false; 
		for (Role role : userRoles) {
			if(role == bet.getRole()){
				isBetRole = true;
			}
		}
		return isBetRole;
	}

	private boolean isBetStatusInTheStatusSet(Bet bet, EnumSet<BetStatus> betStatus) {
		boolean isBetRole = false; 
		for (BetStatus status : betStatus) {
			if(status == bet.getBetStatus().getValue()){
				isBetRole = true;
			}
		}
		return isBetRole;
	}



	public List<Bet> getBets() {
		return bets;
	}

	public void setBets(List<Bet> bets) {
		this.bets = bets;
	}




}
